package com.bmps.springcloud.insuredmicroservice.model.cloudplatform;

import com.bmps.springcloud.insuredmicroservice.util.cloudplatform.BusinessException;

/**
 * 管理机构对应code映射
 * @author llz
 * @date 2019/08/16
 */
public enum InsureProvinceEnum {
    /**
     * 8611管理机构和对应的Code编码
     */
    A("8611",11),
    /**
     * 8612管理机构和对应的Code编码
     */
    B("8612",12),
    /**
     * 8613管理机构和对应的Code编码
     */
    C("8613",13),
    /**
     * 8614管理机构和对应的Code编码
     */
    D("8614",14),
    /**
     * 8621管理机构和对应的Code编码
     */
    E("8621",21),
    /**
     * 8622管理机构和对应的Code编码
     */
    F("8622",21),
    /**
     * 8623管理机构和对应的Code编码
     */
    H("8623",61),
    /**
     * 8627管理机构和对应的Code编码
     */
    I("8627",82),
    /**
     * 8628管理机构和对应的Code编码
     */
    J("8628",51),
    /**
     * 8631管理机构和对应的Code编码
     */
    K("8631",31),
    /**
     * 8632管理机构和对应的Code编码
     */
    L("8632",32),
    /**
     * 8633管理机构和对应的Code编码
     */
    M("8633",33),
    /**
     * 8634管理机构和对应的Code编码
     */
    N("8634",32),
    /**
     * 8635管理机构和对应的Code编码
     */
    O("8635",33),
    /**
     * 8636管理机构和对应的Code编码
     */
    P("8636",34),
    /**
     * 8637管理机构和对应的Code编码
     */
    R("8637",41),
    /**
     * 8641管理机构和对应的Code编码
     */
    S("8641",43),
    /**
     * 8645管理机构和对应的Code编码
     */
    Z("8645",23),
    /**
     * 8648管理机构和对应的Code编码
     */
    U("8648",44),
    /**
     * 8651管理机构和对应的Code编码
     */
    V("8651",44),
    /**
     * 8653管理机构和对应的Code编码
     */
    W("8653",37),
    /**
     * 8661管理机构和对应的Code编码
     */
    X("8661",50);

    /**
     * 管理机构
     */
    private  String manageCom;
    /**
     * 管理机构对应的编码
     */
    private  int code;
    private InsureProvinceEnum(String manageCom, int code){
        this.manageCom = manageCom;
        this.code = code;
    }

    public String getManageCom() {
        return manageCom;
    }

    public void setManageCom(String manageCom) {
        this.manageCom = manageCom;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public static int getCodeByManageCom(String manageCom){
        InsureProvinceEnum[] all = values();
        for(InsureProvinceEnum insureProvince:all){
            if(insureProvince.manageCom.equals(manageCom)){
                return insureProvince.code;
            }
        }
        throw new BusinessException("找不到 manageCom:【{" + manageCom + "}】值对应的“code”");
    }

}
